package com.ftg.learn.chapter05;

/**
 * 练习
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/7/11 上午11:11
 */
public class LearnArraay02 {

//    [public] [static] [类型] [名称] ([] [] []){
//
//    }

    public static boolean question1(int x, int[] arr) {
        boolean ist = false;
        /**
         * 1 : 对数组进行一个一个的查看 （循环）
         * 2 : 是否应该对取出来的每一个数组 进行比较
         * 3 : 把结果ist
         */
        for (int i = 0, max = arr.length; i < max; i++) {
            if (arr[i] == x) {
                ist = true;
                break;
            }
        }
        return ist;
    }

    /**
     * 用来判断sub是否完全包含在target里面，如果存在返回true 反之false
     *
     * @param sub    子数组
     * @param target 目标数组
     * @return 是否存在
     */
    public static boolean question2(int[] sub, int[] target) {
        /**
         * 1 : 容错处理,判断一下target.length一定大于sub.length
         * 1.1  初始位置 的判断
         * 2 :  循环
         */
        if (target.length < sub.length) {
            return false;
        }

        for (int i = 0; i < target.length; i++) {
            int num = 0;
            for (int j = 0; j < sub.length; j++) {
                //容错
                if(i + j < target.length){
                    //比较
                    if (sub[j] == target[i + j]) {
                        num++;
                    }
                }
            }
            //是否结束
            if(num == sub.length){
                return true;
            }
        }
        return false;
    }

    //2 : a : [1,4] b : [1,2,3,4,5,6,7,1]

    public static void main(String[] args) {
       int[] a = {1,2,3};
       int[] b = {1,2,3,2,3,4,5,6,1,2};
        System.out.println(question2(a,b));
    }




}
